package tools.jackson.module.kotlin.kogeraIntegration.deser.valueClass.parameterSize.nullableObject

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import tools.jackson.module.kotlin.assertReflectEquals
import tools.jackson.module.kotlin.defaultMapper
import tools.jackson.module.kotlin.kogeraIntegration.deser.valueClass.NullableObject
import tools.jackson.module.kotlin.readValue

/**
 * Up to argument size 32 there is one mask argument for the default argument,
 * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested.
 * Also, if the default argument is set, the maximum argument size that can be set in the constructor is 245,
 * so that case is tested as well.
 */
class DeserializeByConstructorWithDefaultArgumentsTest {
    data class Dst32(
        val p00: NullableObject? = NullableObject("0"),
        val p01: NullableObject? = NullableObject("1"),
        val p02: NullableObject? = NullableObject("2"),
        val p03: NullableObject? = NullableObject("3"),
        val p04: NullableObject? = NullableObject("4"),
        val p05: NullableObject? = NullableObject("5"),
        val p06: NullableObject? = NullableObject("6"),
        val p07: NullableObject? = NullableObject("7"),
        val p08: NullableObject? = NullableObject("8"),
        val p09: NullableObject? = NullableObject("9"),
        val p10: NullableObject? = NullableObject("10"),
        val p11: NullableObject? = NullableObject("11"),
        val p12: NullableObject? = NullableObject("12"),
        val p13: NullableObject? = NullableObject("13"),
        val p14: NullableObject? = NullableObject("14"),
        val p15: NullableObject? = NullableObject("15"),
        val p16: NullableObject? = NullableObject("16"),
        val p17: NullableObject? = NullableObject("17"),
        val p18: NullableObject? = NullableObject("18"),
        val p19: NullableObject? = NullableObject("19"),
        val p20: NullableObject? = NullableObject("20"),
        val p21: NullableObject? = NullableObject("21"),
        val p22: NullableObject? = NullableObject("22"),
        val p23: NullableObject? = NullableObject("23"),
        val p24: NullableObject? = NullableObject("24"),
        val p25: NullableObject? = NullableObject("25"),
        val p26: NullableObject? = NullableObject("26"),
        val p27: NullableObject? = NullableObject("27"),
        val p28: NullableObject? = NullableObject("28"),
        val p29: NullableObject? = NullableObject("29"),
        val p30: NullableObject? = NullableObject("30"),
        val p31: NullableObject? = NullableObject("31")
    )

    @Test
    fun test32() {
        assertEquals(Dst32(), defaultMapper.readValue<Dst32>("{}"))
    }

    data class Dst33(
        val p00: NullableObject? = NullableObject("0"),
        val p01: NullableObject? = NullableObject("1"),
        val p02: NullableObject? = NullableObject("2"),
        val p03: NullableObject? = NullableObject("3"),
        val p04: NullableObject? = NullableObject("4"),
        val p05: NullableObject? = NullableObject("5"),
        val p06: NullableObject? = NullableObject("6"),
        val p07: NullableObject? = NullableObject("7"),
        val p08: NullableObject? = NullableObject("8"),
        val p09: NullableObject? = NullableObject("9"),
        val p10: NullableObject? = NullableObject("10"),
        val p11: NullableObject? = NullableObject("11"),
        val p12: NullableObject? = NullableObject("12"),
        val p13: NullableObject? = NullableObject("13"),
        val p14: NullableObject? = NullableObject("14"),
        val p15: NullableObject? = NullableObject("15"),
        val p16: NullableObject? = NullableObject("16"),
        val p17: NullableObject? = NullableObject("17"),
        val p18: NullableObject? = NullableObject("18"),
        val p19: NullableObject? = NullableObject("19"),
        val p20: NullableObject? = NullableObject("20"),
        val p21: NullableObject? = NullableObject("21"),
        val p22: NullableObject? = NullableObject("22"),
        val p23: NullableObject? = NullableObject("23"),
        val p24: NullableObject? = NullableObject("24"),
        val p25: NullableObject? = NullableObject("25"),
        val p26: NullableObject? = NullableObject("26"),
        val p27: NullableObject? = NullableObject("27"),
        val p28: NullableObject? = NullableObject("28"),
        val p29: NullableObject? = NullableObject("29"),
        val p30: NullableObject? = NullableObject("30"),
        val p31: NullableObject? = NullableObject("31"),
        val p32: NullableObject? = NullableObject("32")
    )

    @Test
    fun test33() {
        assertEquals(Dst33(), defaultMapper.readValue<Dst33>("{}"))
    }

    data class Dst64(
        val p00: NullableObject? = NullableObject("0"),
        val p01: NullableObject? = NullableObject("1"),
        val p02: NullableObject? = NullableObject("2"),
        val p03: NullableObject? = NullableObject("3"),
        val p04: NullableObject? = NullableObject("4"),
        val p05: NullableObject? = NullableObject("5"),
        val p06: NullableObject? = NullableObject("6"),
        val p07: NullableObject? = NullableObject("7"),
        val p08: NullableObject? = NullableObject("8"),
        val p09: NullableObject? = NullableObject("9"),
        val p10: NullableObject? = NullableObject("10"),
        val p11: NullableObject? = NullableObject("11"),
        val p12: NullableObject? = NullableObject("12"),
        val p13: NullableObject? = NullableObject("13"),
        val p14: NullableObject? = NullableObject("14"),
        val p15: NullableObject? = NullableObject("15"),
        val p16: NullableObject? = NullableObject("16"),
        val p17: NullableObject? = NullableObject("17"),
        val p18: NullableObject? = NullableObject("18"),
        val p19: NullableObject? = NullableObject("19"),
        val p20: NullableObject? = NullableObject("20"),
        val p21: NullableObject? = NullableObject("21"),
        val p22: NullableObject? = NullableObject("22"),
        val p23: NullableObject? = NullableObject("23"),
        val p24: NullableObject? = NullableObject("24"),
        val p25: NullableObject? = NullableObject("25"),
        val p26: NullableObject? = NullableObject("26"),
        val p27: NullableObject? = NullableObject("27"),
        val p28: NullableObject? = NullableObject("28"),
        val p29: NullableObject? = NullableObject("29"),
        val p30: NullableObject? = NullableObject("30"),
        val p31: NullableObject? = NullableObject("31"),
        val p32: NullableObject? = NullableObject("32"),
        val p33: NullableObject? = NullableObject("33"),
        val p34: NullableObject? = NullableObject("34"),
        val p35: NullableObject? = NullableObject("35"),
        val p36: NullableObject? = NullableObject("36"),
        val p37: NullableObject? = NullableObject("37"),
        val p38: NullableObject? = NullableObject("38"),
        val p39: NullableObject? = NullableObject("39"),
        val p40: NullableObject? = NullableObject("40"),
        val p41: NullableObject? = NullableObject("41"),
        val p42: NullableObject? = NullableObject("42"),
        val p43: NullableObject? = NullableObject("43"),
        val p44: NullableObject? = NullableObject("44"),
        val p45: NullableObject? = NullableObject("45"),
        val p46: NullableObject? = NullableObject("46"),
        val p47: NullableObject? = NullableObject("47"),
        val p48: NullableObject? = NullableObject("48"),
        val p49: NullableObject? = NullableObject("49"),
        val p50: NullableObject? = NullableObject("50"),
        val p51: NullableObject? = NullableObject("51"),
        val p52: NullableObject? = NullableObject("52"),
        val p53: NullableObject? = NullableObject("53"),
        val p54: NullableObject? = NullableObject("54"),
        val p55: NullableObject? = NullableObject("55"),
        val p56: NullableObject? = NullableObject("56"),
        val p57: NullableObject? = NullableObject("57"),
        val p58: NullableObject? = NullableObject("58"),
        val p59: NullableObject? = NullableObject("59"),
        val p60: NullableObject? = NullableObject("60"),
        val p61: NullableObject? = NullableObject("61"),
        val p62: NullableObject? = NullableObject("62"),
        val p63: NullableObject? = NullableObject("63")
    )

    @Test
    fun test64() {
        assertEquals(Dst64(), defaultMapper.readValue<Dst64>("{}"))
    }

    data class Dst65(
        val p00: NullableObject? = NullableObject("0"),
        val p01: NullableObject? = NullableObject("1"),
        val p02: NullableObject? = NullableObject("2"),
        val p03: NullableObject? = NullableObject("3"),
        val p04: NullableObject? = NullableObject("4"),
        val p05: NullableObject? = NullableObject("5"),
        val p06: NullableObject? = NullableObject("6"),
        val p07: NullableObject? = NullableObject("7"),
        val p08: NullableObject? = NullableObject("8"),
        val p09: NullableObject? = NullableObject("9"),
        val p10: NullableObject? = NullableObject("10"),
        val p11: NullableObject? = NullableObject("11"),
        val p12: NullableObject? = NullableObject("12"),
        val p13: NullableObject? = NullableObject("13"),
        val p14: NullableObject? = NullableObject("14"),
        val p15: NullableObject? = NullableObject("15"),
        val p16: NullableObject? = NullableObject("16"),
        val p17: NullableObject? = NullableObject("17"),
        val p18: NullableObject? = NullableObject("18"),
        val p19: NullableObject? = NullableObject("19"),
        val p20: NullableObject? = NullableObject("20"),
        val p21: NullableObject? = NullableObject("21"),
        val p22: NullableObject? = NullableObject("22"),
        val p23: NullableObject? = NullableObject("23"),
        val p24: NullableObject? = NullableObject("24"),
        val p25: NullableObject? = NullableObject("25"),
        val p26: NullableObject? = NullableObject("26"),
        val p27: NullableObject? = NullableObject("27"),
        val p28: NullableObject? = NullableObject("28"),
        val p29: NullableObject? = NullableObject("29"),
        val p30: NullableObject? = NullableObject("30"),
        val p31: NullableObject? = NullableObject("31"),
        val p32: NullableObject? = NullableObject("32"),
        val p33: NullableObject? = NullableObject("33"),
        val p34: NullableObject? = NullableObject("34"),
        val p35: NullableObject? = NullableObject("35"),
        val p36: NullableObject? = NullableObject("36"),
        val p37: NullableObject? = NullableObject("37"),
        val p38: NullableObject? = NullableObject("38"),
        val p39: NullableObject? = NullableObject("39"),
        val p40: NullableObject? = NullableObject("40"),
        val p41: NullableObject? = NullableObject("41"),
        val p42: NullableObject? = NullableObject("42"),
        val p43: NullableObject? = NullableObject("43"),
        val p44: NullableObject? = NullableObject("44"),
        val p45: NullableObject? = NullableObject("45"),
        val p46: NullableObject? = NullableObject("46"),
        val p47: NullableObject? = NullableObject("47"),
        val p48: NullableObject? = NullableObject("48"),
        val p49: NullableObject? = NullableObject("49"),
        val p50: NullableObject? = NullableObject("50"),
        val p51: NullableObject? = NullableObject("51"),
        val p52: NullableObject? = NullableObject("52"),
        val p53: NullableObject? = NullableObject("53"),
        val p54: NullableObject? = NullableObject("54"),
        val p55: NullableObject? = NullableObject("55"),
        val p56: NullableObject? = NullableObject("56"),
        val p57: NullableObject? = NullableObject("57"),
        val p58: NullableObject? = NullableObject("58"),
        val p59: NullableObject? = NullableObject("59"),
        val p60: NullableObject? = NullableObject("60"),
        val p61: NullableObject? = NullableObject("61"),
        val p62: NullableObject? = NullableObject("62"),
        val p63: NullableObject? = NullableObject("63"),
        val p64: NullableObject? = NullableObject("64")
    )

    @Test
    fun test65() {
        assertEquals(Dst65(), defaultMapper.readValue<Dst65>("{}"))
    }

    // It cannot be a data class because the generated method would exceed the argument size limit.
    class DstMax(
        val p000: NullableObject? = NullableObject("0"),
        val p001: NullableObject? = NullableObject("1"),
        val p002: NullableObject? = NullableObject("2"),
        val p003: NullableObject? = NullableObject("3"),
        val p004: NullableObject? = NullableObject("4"),
        val p005: NullableObject? = NullableObject("5"),
        val p006: NullableObject? = NullableObject("6"),
        val p007: NullableObject? = NullableObject("7"),
        val p008: NullableObject? = NullableObject("8"),
        val p009: NullableObject? = NullableObject("9"),
        val p010: NullableObject? = NullableObject("10"),
        val p011: NullableObject? = NullableObject("11"),
        val p012: NullableObject? = NullableObject("12"),
        val p013: NullableObject? = NullableObject("13"),
        val p014: NullableObject? = NullableObject("14"),
        val p015: NullableObject? = NullableObject("15"),
        val p016: NullableObject? = NullableObject("16"),
        val p017: NullableObject? = NullableObject("17"),
        val p018: NullableObject? = NullableObject("18"),
        val p019: NullableObject? = NullableObject("19"),
        val p020: NullableObject? = NullableObject("20"),
        val p021: NullableObject? = NullableObject("21"),
        val p022: NullableObject? = NullableObject("22"),
        val p023: NullableObject? = NullableObject("23"),
        val p024: NullableObject? = NullableObject("24"),
        val p025: NullableObject? = NullableObject("25"),
        val p026: NullableObject? = NullableObject("26"),
        val p027: NullableObject? = NullableObject("27"),
        val p028: NullableObject? = NullableObject("28"),
        val p029: NullableObject? = NullableObject("29"),
        val p030: NullableObject? = NullableObject("30"),
        val p031: NullableObject? = NullableObject("31"),
        val p032: NullableObject? = NullableObject("32"),
        val p033: NullableObject? = NullableObject("33"),
        val p034: NullableObject? = NullableObject("34"),
        val p035: NullableObject? = NullableObject("35"),
        val p036: NullableObject? = NullableObject("36"),
        val p037: NullableObject? = NullableObject("37"),
        val p038: NullableObject? = NullableObject("38"),
        val p039: NullableObject? = NullableObject("39"),
        val p040: NullableObject? = NullableObject("40"),
        val p041: NullableObject? = NullableObject("41"),
        val p042: NullableObject? = NullableObject("42"),
        val p043: NullableObject? = NullableObject("43"),
        val p044: NullableObject? = NullableObject("44"),
        val p045: NullableObject? = NullableObject("45"),
        val p046: NullableObject? = NullableObject("46"),
        val p047: NullableObject? = NullableObject("47"),
        val p048: NullableObject? = NullableObject("48"),
        val p049: NullableObject? = NullableObject("49"),
        val p050: NullableObject? = NullableObject("50"),
        val p051: NullableObject? = NullableObject("51"),
        val p052: NullableObject? = NullableObject("52"),
        val p053: NullableObject? = NullableObject("53"),
        val p054: NullableObject? = NullableObject("54"),
        val p055: NullableObject? = NullableObject("55"),
        val p056: NullableObject? = NullableObject("56"),
        val p057: NullableObject? = NullableObject("57"),
        val p058: NullableObject? = NullableObject("58"),
        val p059: NullableObject? = NullableObject("59"),
        val p060: NullableObject? = NullableObject("60"),
        val p061: NullableObject? = NullableObject("61"),
        val p062: NullableObject? = NullableObject("62"),
        val p063: NullableObject? = NullableObject("63"),
        val p064: NullableObject? = NullableObject("64"),
        val p065: NullableObject? = NullableObject("65"),
        val p066: NullableObject? = NullableObject("66"),
        val p067: NullableObject? = NullableObject("67"),
        val p068: NullableObject? = NullableObject("68"),
        val p069: NullableObject? = NullableObject("69"),
        val p070: NullableObject? = NullableObject("70"),
        val p071: NullableObject? = NullableObject("71"),
        val p072: NullableObject? = NullableObject("72"),
        val p073: NullableObject? = NullableObject("73"),
        val p074: NullableObject? = NullableObject("74"),
        val p075: NullableObject? = NullableObject("75"),
        val p076: NullableObject? = NullableObject("76"),
        val p077: NullableObject? = NullableObject("77"),
        val p078: NullableObject? = NullableObject("78"),
        val p079: NullableObject? = NullableObject("79"),
        val p080: NullableObject? = NullableObject("80"),
        val p081: NullableObject? = NullableObject("81"),
        val p082: NullableObject? = NullableObject("82"),
        val p083: NullableObject? = NullableObject("83"),
        val p084: NullableObject? = NullableObject("84"),
        val p085: NullableObject? = NullableObject("85"),
        val p086: NullableObject? = NullableObject("86"),
        val p087: NullableObject? = NullableObject("87"),
        val p088: NullableObject? = NullableObject("88"),
        val p089: NullableObject? = NullableObject("89"),
        val p090: NullableObject? = NullableObject("90"),
        val p091: NullableObject? = NullableObject("91"),
        val p092: NullableObject? = NullableObject("92"),
        val p093: NullableObject? = NullableObject("93"),
        val p094: NullableObject? = NullableObject("94"),
        val p095: NullableObject? = NullableObject("95"),
        val p096: NullableObject? = NullableObject("96"),
        val p097: NullableObject? = NullableObject("97"),
        val p098: NullableObject? = NullableObject("98"),
        val p099: NullableObject? = NullableObject("99"),
        val p100: NullableObject? = NullableObject("100"),
        val p101: NullableObject? = NullableObject("101"),
        val p102: NullableObject? = NullableObject("102"),
        val p103: NullableObject? = NullableObject("103"),
        val p104: NullableObject? = NullableObject("104"),
        val p105: NullableObject? = NullableObject("105"),
        val p106: NullableObject? = NullableObject("106"),
        val p107: NullableObject? = NullableObject("107"),
        val p108: NullableObject? = NullableObject("108"),
        val p109: NullableObject? = NullableObject("109"),
        val p110: NullableObject? = NullableObject("110"),
        val p111: NullableObject? = NullableObject("111"),
        val p112: NullableObject? = NullableObject("112"),
        val p113: NullableObject? = NullableObject("113"),
        val p114: NullableObject? = NullableObject("114"),
        val p115: NullableObject? = NullableObject("115"),
        val p116: NullableObject? = NullableObject("116"),
        val p117: NullableObject? = NullableObject("117"),
        val p118: NullableObject? = NullableObject("118"),
        val p119: NullableObject? = NullableObject("119"),
        val p120: NullableObject? = NullableObject("120"),
        val p121: NullableObject? = NullableObject("121"),
        val p122: NullableObject? = NullableObject("122"),
        val p123: NullableObject? = NullableObject("123"),
        val p124: NullableObject? = NullableObject("124"),
        val p125: NullableObject? = NullableObject("125"),
        val p126: NullableObject? = NullableObject("126"),
        val p127: NullableObject? = NullableObject("127"),
        val p128: NullableObject? = NullableObject("128"),
        val p129: NullableObject? = NullableObject("129"),
        val p130: NullableObject? = NullableObject("130"),
        val p131: NullableObject? = NullableObject("131"),
        val p132: NullableObject? = NullableObject("132"),
        val p133: NullableObject? = NullableObject("133"),
        val p134: NullableObject? = NullableObject("134"),
        val p135: NullableObject? = NullableObject("135"),
        val p136: NullableObject? = NullableObject("136"),
        val p137: NullableObject? = NullableObject("137"),
        val p138: NullableObject? = NullableObject("138"),
        val p139: NullableObject? = NullableObject("139"),
        val p140: NullableObject? = NullableObject("140"),
        val p141: NullableObject? = NullableObject("141"),
        val p142: NullableObject? = NullableObject("142"),
        val p143: NullableObject? = NullableObject("143"),
        val p144: NullableObject? = NullableObject("144"),
        val p145: NullableObject? = NullableObject("145"),
        val p146: NullableObject? = NullableObject("146"),
        val p147: NullableObject? = NullableObject("147"),
        val p148: NullableObject? = NullableObject("148"),
        val p149: NullableObject? = NullableObject("149"),
        val p150: NullableObject? = NullableObject("150"),
        val p151: NullableObject? = NullableObject("151"),
        val p152: NullableObject? = NullableObject("152"),
        val p153: NullableObject? = NullableObject("153"),
        val p154: NullableObject? = NullableObject("154"),
        val p155: NullableObject? = NullableObject("155"),
        val p156: NullableObject? = NullableObject("156"),
        val p157: NullableObject? = NullableObject("157"),
        val p158: NullableObject? = NullableObject("158"),
        val p159: NullableObject? = NullableObject("159"),
        val p160: NullableObject? = NullableObject("160"),
        val p161: NullableObject? = NullableObject("161"),
        val p162: NullableObject? = NullableObject("162"),
        val p163: NullableObject? = NullableObject("163"),
        val p164: NullableObject? = NullableObject("164"),
        val p165: NullableObject? = NullableObject("165"),
        val p166: NullableObject? = NullableObject("166"),
        val p167: NullableObject? = NullableObject("167"),
        val p168: NullableObject? = NullableObject("168"),
        val p169: NullableObject? = NullableObject("169"),
        val p170: NullableObject? = NullableObject("170"),
        val p171: NullableObject? = NullableObject("171"),
        val p172: NullableObject? = NullableObject("172"),
        val p173: NullableObject? = NullableObject("173"),
        val p174: NullableObject? = NullableObject("174"),
        val p175: NullableObject? = NullableObject("175"),
        val p176: NullableObject? = NullableObject("176"),
        val p177: NullableObject? = NullableObject("177"),
        val p178: NullableObject? = NullableObject("178"),
        val p179: NullableObject? = NullableObject("179"),
        val p180: NullableObject? = NullableObject("180"),
        val p181: NullableObject? = NullableObject("181"),
        val p182: NullableObject? = NullableObject("182"),
        val p183: NullableObject? = NullableObject("183"),
        val p184: NullableObject? = NullableObject("184"),
        val p185: NullableObject? = NullableObject("185"),
        val p186: NullableObject? = NullableObject("186"),
        val p187: NullableObject? = NullableObject("187"),
        val p188: NullableObject? = NullableObject("188"),
        val p189: NullableObject? = NullableObject("189"),
        val p190: NullableObject? = NullableObject("190"),
        val p191: NullableObject? = NullableObject("191"),
        val p192: NullableObject? = NullableObject("192"),
        val p193: NullableObject? = NullableObject("193"),
        val p194: NullableObject? = NullableObject("194"),
        val p195: NullableObject? = NullableObject("195"),
        val p196: NullableObject? = NullableObject("196"),
        val p197: NullableObject? = NullableObject("197"),
        val p198: NullableObject? = NullableObject("198"),
        val p199: NullableObject? = NullableObject("199"),
        val p200: NullableObject? = NullableObject("200"),
        val p201: NullableObject? = NullableObject("201"),
        val p202: NullableObject? = NullableObject("202"),
        val p203: NullableObject? = NullableObject("203"),
        val p204: NullableObject? = NullableObject("204"),
        val p205: NullableObject? = NullableObject("205"),
        val p206: NullableObject? = NullableObject("206"),
        val p207: NullableObject? = NullableObject("207"),
        val p208: NullableObject? = NullableObject("208"),
        val p209: NullableObject? = NullableObject("209"),
        val p210: NullableObject? = NullableObject("210"),
        val p211: NullableObject? = NullableObject("211"),
        val p212: NullableObject? = NullableObject("212"),
        val p213: NullableObject? = NullableObject("213"),
        val p214: NullableObject? = NullableObject("214"),
        val p215: NullableObject? = NullableObject("215"),
        val p216: NullableObject? = NullableObject("216"),
        val p217: NullableObject? = NullableObject("217"),
        val p218: NullableObject? = NullableObject("218"),
        val p219: NullableObject? = NullableObject("219"),
        val p220: NullableObject? = NullableObject("220"),
        val p221: NullableObject? = NullableObject("221"),
        val p222: NullableObject? = NullableObject("222"),
        val p223: NullableObject? = NullableObject("223"),
        val p224: NullableObject? = NullableObject("224"),
        val p225: NullableObject? = NullableObject("225"),
        val p226: NullableObject? = NullableObject("226"),
        val p227: NullableObject? = NullableObject("227"),
        val p228: NullableObject? = NullableObject("228"),
        val p229: NullableObject? = NullableObject("229"),
        val p230: NullableObject? = NullableObject("230"),
        val p231: NullableObject? = NullableObject("231"),
        val p232: NullableObject? = NullableObject("232"),
        val p233: NullableObject? = NullableObject("233"),
        val p234: NullableObject? = NullableObject("234"),
        val p235: NullableObject? = NullableObject("235"),
        val p236: NullableObject? = NullableObject("236"),
        val p237: NullableObject? = NullableObject("237"),
        val p238: NullableObject? = NullableObject("238"),
        val p239: NullableObject? = NullableObject("239"),
        val p240: NullableObject? = NullableObject("240"),
        val p241: NullableObject? = NullableObject("241"),
        val p242: NullableObject? = NullableObject("242"),
        val p243: NullableObject? = NullableObject("243"),
        val p244: NullableObject? = NullableObject("244")
    )

    @Test
    fun testMax() {
        assertReflectEquals(DstMax(), defaultMapper.readValue<DstMax>("{}"))
    }
}
